package com.snail.jj.androiddemos.components;

import android.os.Bundle;
import android.support.annotation.Nullable;
import android.view.View;

import com.snail.jj.androiddemos.R;
import com.snail.jj.androiddemos.bases.BaseActivity;

/**
 * Created by snail on 2017/7/27.
 */

/**
 * ContentProvider 一般为存储和获取数据提供统一的接口，可以在不同的应用程序间共享数据
 *
 * 之所以使用ContentProvider，主要由以下几个理由：
 * 1、ContentProvider提供了对底层数据存储方式的抽象。比如下图中，底层使用了SQLite数据库，在用了
 * ContentProvider封装后，即使你把数据库换成MongoDB，也不会对上层数据使用层代码产生影响
 *
 * 2、Android框架中的一些类需要ContentProvider类型数据。如果你想让你的数据可以使用在如SyncAdapter，Loader，
 * CursorAdapter等类上，name你就需要为你的数据左一层ContentProvider封装
 *
 * 3、第三个原因也是最主要的原因，是ContentProvider为应用间的数据交互提供了一个安全的环境。它准许你把
 * 自己的应用数据根据需求开放给其他应用进行增删改查，而不用担心直接开放数据库权限而带来的安全问题
 *
 *
 * URI分三个部分
 *  1、scheme、authority、path，其中authority又分为host和post
 *
 *  scheme://host:port/path
 *
 *  content://com.example.project:200/folder/subfolder/etc
 *
 */

public class ContentProviderActivity extends BaseActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_contentprovider);
        initView();
    }

    public void initView() {
        setTitleBarTitle("内容提供者");
        setRightViewVisiable(View.INVISIBLE);
    }


}
